package day0106;

import org.junit.Test;

public class HomeWork {
	
	
//	1、输出一下结构：
//	1
//	12
//	123
//	1234
//	12345
	@Test
	public void test1() {
		for (int i = 1; i <= 5; i++) {
			for (int j = 1; j <= i; j++) {
				System.out.print(j);
			}
			System.out.println();
		}
	}
	
//	2、打印正三角形和倒三角形
//       *               i=1     打印1个
//      ***              i=2     打印3个
//     *****             i=3     打印5个
//    *******			 i=4             打印(2*i)-1
//   *********
// 	***********
	
	@Test
	public void test2() {
		for (int i = 1; i <= 6; i++) {
			for (int j = 1; j <= 6 - i; j++) {
				System.out.print(" ");
			}
			for (int k = 1; k <= (2 * i) - 1; k++) {
				System.out.print("*");
			}
			System.out.println();
		}
	}
	
//	***********
//	 *********
//	  *******
//	   *****
//	    ***
//	     *
	@Test
	public void test3() {
		for (int i = 1; i <= 6; i++) {
			for (int j = 1; j <= i - 1; j++) {
				System.out.print(" ");
			}
			for (int k = 1; k <= (2 * (6 - i)) + 1; k++) {
				System.out.print("*");
			}
			System.out.println();
		}
		
	}
	
	//3、计算1-100以内所有奇数的和以及所有偶数的和，分别打印出来。
	
	// While 方法
	@Test
	public void test4() {
		int oddSum = 0;
		int evenSum = 0;
		int i = 1;
		int k = 1;
		while (i <= 100) {
			if (i % 2 == 0) {
				evenSum = evenSum + i;
			}
			i++;
		}
		System.out.println("偶数和为" + evenSum);
		while (k <= 100) {
			if (k % 2 != 0) {
				oddSum = oddSum + k;
			}
			k++;
		}
		System.out.println("奇数和为" + oddSum);
	}
	
	//For方法
	@Test
	public void test5() {
		int oddSum = 0;
		int evenSum = 0;
		for (int i = 1; i <= 100; i++) {
			if (i % 2 == 0) {
				evenSum = evenSum + i;
			}else {
				oddSum = oddSum + i;
			}
		}
		System.out.println("偶数和为" + evenSum);
		System.out.println("奇数和为" + oddSum);
	}
	
	//4、用for循环输出1—1000之间能被5整除的数，且每行输出3个
	
	@Test
	public void test6() {
		int count = 0;
		for (int i = 1; i <= 1000; i++) {
			if (i % 5 == 0) {
				System.out.print(i + "\t");
				count++;
			if (count % 3 == 0) {   // 因为每行有三个，所以当每次能被3整除   打印换行
				System.out.println();
				
//			if (count == 3) {             每当count数到3的时候
//				System.out.println();         打印换行
//				count = 0;                                                      然后令count回到0                
//			}
			}
		}
	}
}

	//5、计算9的阶乘
	
	@Test
	public void test7() {
		int multiply = 1;
		for (int i = 9; i >= 1; i--) {
			multiply = multiply * i;
		}
		System.out.println("9的阶乘积为" + multiply);
	}
	
	
	//6、使用循环打印100-200之间所有的素数（只能被1和自己整除的数叫素数）
	@Test
	public void test8() {
		for (int i = 100; i <= 200; i++) {   //i=100 代表要去验证100是不是素数
			boolean isSushu = true;   // 初始认为是素数
			for (int j = 2; j < i; j++) {
				if (i % j == 0) {   // 只要进到if里面，就证明不是素数
					isSushu = false;
					break;
				}
			} 
			if (isSushu == true) {
				System.out.println("素数是" + i);
			}
		}
	}
}
